package com.lantosec.hmrp.modules.revisit.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.util.Date;

import com.lantosec.hmrp.modules.revisit.entity.HisPatientInfo;
import com.lantosec.hmrp.modules.revisit.entity.RevisitNote;
import com.lantosec.hmrp.core.mvc.BaseVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * <p>
 * 回访及复核记录 VO对象
 * </p>
 *
 * @author AutoCode
 * @since 2020-05-06
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value="RevisitNote对象", description="回访及复核记录")
public class RevisitNoteVO extends BaseVO<RevisitNote> {
    private static final long serialVersionUID = 1L;


    public RevisitNoteVO(RevisitNote entity){
        this.revisitNoteId = entity.getRevisitNoteId();
        this.revisitTaskId = entity.getRevisitTaskId();
        this.revisitUserId = entity.getRevisitUserId();
        this.revisitUser = entity.getRevisitUser();
        this.revisitTimeStd = entity.getRevisitTimeStd();
        this.revisitTime = entity.getRevisitTime();
        this.phone = entity.getPhone();
        this.callDuration = entity.getCallDuration();
        this.remark = entity.getRemark();
        this.invalid = entity.getInvalid();
        this.reviewUser = entity.getReviewUser();
        this.reviewTime = entity.getReviewTime();
        this.reviewRemark = entity.getReviewRemark();
        this.reviewInvalid = entity.getReviewInvalid();
        this.reviewUserId = entity.getReviewUserId();
    }

    @Override
    public RevisitNote convertToEntity(){
        return new RevisitNote(this);
    }


    @ApiModelProperty(value = "回访记录ID")
    @TableId(value = "revist_note_id", type = IdType.AUTO)
    private Integer revisitNoteId;

    @ApiModelProperty(value = "回访任务ID")
    private Integer revisitTaskId;

    @ApiModelProperty(value = "回访人ID")
    private String revisitUserId;

    @ApiModelProperty(value = "回访人")
    private String revisitUser;

    @ApiModelProperty(value = "规定的回访日期")
    private String revisitTimeStd;

    @ApiModelProperty(value = "回访时间")
    private Date revisitTime;

    @ApiModelProperty(value = "回访号码")
    private String phone;

    @ApiModelProperty(value = "通话时长")
    private Integer callDuration;

    @ApiModelProperty(value = "回访情况说明")
    private String remark;

    @ApiModelProperty(value = "回访记录无效标识(0否,有效 1是,有效)")
    private Integer invalid;

    @ApiModelProperty(value = "复核人")
    private String reviewUser;

    @ApiModelProperty(value = "复核时间")
    private Date reviewTime;

    @ApiModelProperty(value = "复核情况说明")
    private String reviewRemark;

    @ApiModelProperty(value = "复核无效标识(0否,有效 1是,有效)")
    private Integer reviewInvalid;

    @ApiModelProperty(value = "复核人ID")
    private String reviewUserId;

    @ApiModelProperty(value = "患者对象")
    private HisPatientInfo hisPatientInfo;
}
